GString *gstring;
gboolean seen_mod = FALSE;
gunichar ch;
-
- gstring = g_string_new ("");
-
+
+ gstring = g_string_sized_new (10); /* ~len('backspace') */
+
if (accelerator_mods & GDK_SHIFT_MASK)
{
g_string_append (gstring, klass->mod_name_shift);
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_CONTROL_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, klass->mod_name_control);
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD1_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, klass->mod_name_alt);
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD2_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod2");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD3_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod3");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD4_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod4");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD5_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod5");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_SUPER_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
/* This is the text that should appear next to menu accelerators
* that use the super key. If the text on this key isn't typically
g_string_append (gstring, C_("keyboard label", "Super"));
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_HYPER_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
/* This is the text that should appear next to menu accelerators
* that use the hyper key. If the text on this key isn't typically
g_string_append (gstring, C_("keyboard label", "Hyper"));
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_META_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
#ifndef GDK_WINDOWING_QUARTZ
/* This is the text that should appear next to menu accelerators